/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Date;
import java.util.LinkedList;

/**
 *
 * @author wualterh
 */
public class Listas {

    private LinkedList<Rutas> ListaRutas = new LinkedList<Rutas>();
    private LinkedList<Chofer> ListaChoferes = new LinkedList<Chofer>();
    private LinkedList<Viaje> ListaViajes = new LinkedList<Viaje>();
    private LinkedList<UnidadT> ListaUnidadT = new LinkedList<UnidadT>();
    private LinkedList<Socio> ListaSocio = new LinkedList<Socio>();
    private LinkedList<Cooperativa> ListaCoop = new LinkedList<Cooperativa>();
    private LinkedList<Ruta_Coop> ListaRutaCoop = new LinkedList<Ruta_Coop>();
    private LinkedList<DiasFeriados> ListaFeriados = new LinkedList<DiasFeriados>();
  private LinkedList<Multa> ListaMultas = new LinkedList<Multa>();
//------------------------------

    public LinkedList<Rutas> getListaRutas() {
        return ListaRutas;
    }

    public LinkedList<UnidadT> getListaUnidadT() {
        return ListaUnidadT;
    }

    public LinkedList<Chofer> getListaChoferes() {
        return ListaChoferes;
    }

    public LinkedList<Viaje> getListaViajes() {
        return ListaViajes;
    }

    public LinkedList<Socio> getListaSocio() {
        return ListaSocio;
    }

    public LinkedList<Cooperativa> getListaCoop() {
        return ListaCoop;
    }

    public LinkedList<Ruta_Coop> getListaRutaCoop() {
        return ListaRutaCoop;
    }

    public LinkedList<Multa> getListaMultas() {
        return ListaMultas;
    }
public LinkedList<DiasFeriados> getListaFeriados() {
        return ListaFeriados;
    }

    

//****************************************
// Lista Rutas
//****************************************
    public void CargarRutas() {
        Rutas LasRutas = new Rutas();


        String Via;
        int Cnt;
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null;

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            //archivo = new File ("C:\\Arbitros.txt");

            Via = System.getProperty("user.dir") + "/src/Archivos/Rutas.txt";

            archivo = new File(Via);

            fr = new FileReader(archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;

            Cnt = 0;


            while ((linea = br.readLine()) != null) {
                Cnt++;

                switch (Cnt) {
                    case 1:
                        LasRutas.setCodigoR(linea);
                        break;

                    case 2:
                        LasRutas.setDestino(linea);
                        break;

                    case 3:
                        LasRutas.setDescripcionR(linea);
                        break;

                    case 4:
                        LasRutas.setEStado(linea);
                        ListaRutas.add(LasRutas);
                        break;
                    case 5:
                        LasRutas.setDuracion(linea);
                        LasRutas = new Rutas();
                        Cnt = 0;
                        break;

                }

            }

        } catch (Exception e) {
        } finally {
            // En el finally cerramos el fichero, para asegurarnos
            // que se cierra tanto si todo va bien como si salta 
            // una excepcion.
            try {
                if (null != fr) {
                    fr.close();
                }
            } catch (Exception e2) {
            }
        }
    }

    public int ExisteRutas(String CodR) {
        int i = 0, Posi = -1;

        Rutas rts;
        String CodLista;

        for (i = 0; i < ListaRutas.size(); i++) {
            rts = ListaRutas.get(i);

            CodLista = rts.getCodigoR();

            if (CodLista.equals(CodR)) {
                Posi = i;
                return Posi;
            }

        }

        return Posi;
    }
//****************************************
// Lista Unidad de Transporte
//****************************************

    public void CargarUnidadT() {
        UnidadT unidad = new UnidadT();

        String Via;
        Integer capacidad;
        int Cnt;
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null;

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            //archivo = new File ("C:\\Arbitros.txt");

            Via = System.getProperty("user.dir") + "/src/Archivos/Unidades.txt";

            archivo = new File(Via);

            fr = new FileReader(archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;

            Cnt = 0;

            while ((linea = br.readLine()) != null) {
                Cnt++;

                switch (Cnt) {
                    case 1:
                        unidad.setPlaca(linea);
                        break;

                    case 2:
                        capacidad = Integer.parseInt(linea);
                        unidad.setCapacidad(capacidad);
                        break;

                    case 3:
                        unidad.setDescripcion(linea);
                        break;

                    case 4:
                        unidad.setCISocio(linea);
                        break;
                    case 5:
                        unidad.setCodCooperativa(linea);
                        ListaUnidadT.add(unidad);
                        unidad = new UnidadT();
                        Cnt = 0;
                        break;

                }

            }

        } catch (Exception e) {
        } finally {
            // En el finally cerramos el fichero, para asegurarnos
            // que se cierra tanto si todo va bien como si salta 
            // una excepcion.
            try {
                if (null != fr) {
                    fr.close();
                }
            } catch (Exception e2) {
            }
        }
    }
    //------------------------------

    public int ExisteUnidadT(String PlacaBus) {
        int i = 0, Posi = -1;

        UnidadT unidad;
        String PlacaLista;

        for (i = 0; i < ListaUnidadT.size(); i++) {
            unidad = ListaUnidadT.get(i);

            PlacaLista = unidad.getPlaca();

            if (PlacaLista.equals(PlacaBus)) {
                Posi = i;
                return Posi;
            }

        }

        return Posi;
    }
//****************************************
// Lista Choferes
//****************************************

    public void CargarChoferes() {
        Chofer chofer = new Chofer();

        String Via;
        int Cnt;
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null; //sirve para guardar

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            //archivo = new File ("C:\\Arbitros.txt");

            Via = System.getProperty("user.dir") + "/src/Archivos/Choferes.txt";

            archivo = new File(Via);

            fr = new FileReader(archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;

            Cnt = 0;

            while ((linea = br.readLine()) != null) {
                Cnt++;

                switch (Cnt) {
                    case 1:
                        chofer.setCedula(linea);
                        break;

                    case 2:
                        chofer.setNombres(linea);
                        break;

                    case 3:
                        chofer.setDireccion(linea);
                        break;

                    case 4:
                        chofer.setTelefonos(linea);
                        break;

                    case 5:
                        chofer.setCISocio(linea);
                        break;

                    case 6:
                        chofer.setCodCoop(linea);
                        ListaChoferes.add(chofer);
                        chofer = new Chofer();
                        Cnt = 0;
                        break;

                }

            }

        } catch (Exception e) {
        } finally {
            // En el finally cerramos el fichero, para asegurarnos
            // que se cierra tanto si todo va bien como si salta 
            // una excepcion.
            try {
                if (null != fr) {
                    fr.close();
                }
            } catch (Exception e2) {
            }
        }
    }
//****************************************
// Lista Socio
//****************************************

    public void CargarSocio() {
        Socio Socios = new Socio();

        String Via;
        int Cnt;
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null; //sirve para guardar

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            //archivo = new File ("C:\\Arbitros.txt");

            Via = System.getProperty("user.dir") + "/src/Archivos/Socio.txt";

            archivo = new File(Via);

            fr = new FileReader(archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;
            Integer cantidad;
            Cnt = 0;

            while ((linea = br.readLine()) != null) {
                Cnt++;

                switch (Cnt) {
                    case 1:
                        Socios.setCedula(linea);
                        break;

                    case 2:
                        Socios.setNombre(linea);
                        break;

                    case 3:
                        Socios.setCargo(linea);
                        break;

                    case 4:
                        cantidad = Integer.parseInt(linea);
                        Socios.setCantUT(cantidad);
                        break;
                    case 5:
                        Socios.setCodCoop(linea);
                        ListaSocio.add(Socios);
                        Socios = new Socio();
                        Cnt = 0;
                        break;
                }

            }

        } catch (Exception e) {
        } finally {
            // En el finally cerramos el fichero, para asegurarnos
            // que se cierra tanto si todo va bien como si salta 
            // una excepcion.
            try {
                if (null != fr) {
                    fr.close();
                }
            } catch (Exception e2) {
            }
        }
    }
//****************************************
// Lista Cooperativa
//****************************************

    public void CargarCooperativa() {
        Cooperativa coop = new Cooperativa();

        String Via;
        int Cnt;
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null; //sirve para guardar

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            //archivo = new File ("C:\\Arbitros.txt");

            Via = System.getProperty("user.dir") + "/src/Archivos/Cooperativa.txt";

            archivo = new File(Via);

            fr = new FileReader(archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;

            Cnt = 0;

            while ((linea = br.readLine()) != null) {
                Cnt++;

                switch (Cnt) {
                    case 1:
                        coop.setRifC(linea);
                        break;

                    case 2:
                        coop.setNombreC(linea);
                        break;

                    case 3:
                        coop.setTelefonoC(linea);
                        ListaCoop.add(coop);
                        coop = new Cooperativa();
                        Cnt = 0;
                        break;
                }

            }
        } catch (Exception e) {
        } finally {
            // En el finally cerramos el fichero, para asegurarnos
            // que se cierra tanto si todo va bien como si salta 
            // una excepcion.
            try {
                if (null != fr) {
                    fr.close();
                }
            } catch (Exception e2) {
            }
        }
    }
//****************************************
// Lista Ruta Cooperativa
//**************************************** 

    public void CargarRutaCoop() {
        Ruta_Coop rtcp = new Ruta_Coop();

        String Via;
        int Cnt;
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null; //sirve para guardar

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            //archivo = new File ("C:\\Arbitros.txt");

            Via = System.getProperty("user.dir") + "/src/Archivos/RutaCoop.txt";

            archivo = new File(Via);

            fr = new FileReader(archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;

            Cnt = 0;

            while ((linea = br.readLine()) != null) {
                Cnt++;

                switch (Cnt) {
                    case 1:
                        rtcp.setCodigoCp(linea);
                        break;

                    case 2:
                        rtcp.setNombreCp(linea);
                        break;
                    case 3:
                        rtcp.setCodigoR(linea);
                        break;
                    case 4:
                        rtcp.setDestinoR(linea);
                        ListaRutaCoop.add(rtcp);
                        rtcp = new Ruta_Coop();
                        Cnt = 0;
                        break;
                }

            }
        } catch (Exception e) {
        } finally {
            /* En el finally cerramos el fichero, para asegurarnos
             *  que se cierra tanto si todo va bien como si salta 
             *  una excepcion.*/
            try {
                if (null != fr) {
                    fr.close();
                }
            } catch (Exception e2) {
            }
        }
        }
  
//------------------------------------
//****************************************
// Lista Cooperativa
//**************************************** 
    public void CargarFeriados() {
        DiasFeriados feriados = new DiasFeriados();
        Date fecha;
        String Via;
        int Cnt;
        File archivo = null;
        FileReader fr = null;
        BufferedReader br = null; //sirve para guardar

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            //archivo = new File ("C:\\Arbitros.txt");

            Via = System.getProperty("user.dir") + "/src/Archivos/Feriados.txt";

            archivo = new File(Via);

            fr = new FileReader(archivo);
            br = new BufferedReader(fr);

            // Lectura del fichero
            String linea;
            Date Fecha;

            Cnt = 0;

            while ((linea = br.readLine()) != null) 
            {
                  Fecha = Validaciones.CnvStringFecha(linea);
                  feriados.setFecha(Fecha);
                  ListaFeriados.add(feriados);
                  feriados=new DiasFeriados();
            }
        } catch (Exception e) {
        } finally {
            /* En el finally cerramos el fichero, para asegurarnos
             *  que se cierra tanto si todo va bien como si salta 
             *  una excepcion.*/
            try {
                if (null != fr) {
                    fr.close();
                }
            } catch (Exception e2) {
            }
        }
    }
//--------------------------------------
}
